﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace GTipos
{
    /// <summary>
    /// Espacio de nombre de Tipos enumerado predefinidos
    /// </summary>

    /// <summary>
    /// Enumerado que marca los estado posibles para la construcion dinamica del controlador cabecera.
    /// SinSesion   : El controlador se encuentra con el loguin habilitado pero sin una sesion validada en ese momento.
    /// ConSesion   : El controlador detecta un usuario autentificado y por tanto muestra su informacion en el contenido.
    /// NoSesion    : El controlador inhibe todos los elementos de logado, con lo que no se puede hacer loguin.
    /// Oculto      : El controlador se encuentra oculto y desactivado y no guarda su estado.
    /// </summary>
    public enum EstadoCabecera     { SinSesion, ConSesion, NoSesion, Oculto };

    /// <summary>
    /// Enumerado que marca los estado posibles para la construcion dinamica del controlador menu.
    /// Editable    : El controlador admite modificaciones de su funcionalidad de forma dinamica, su omision es solo lectura.
    /// SoloLectura : El controlador se encuentra en un estado en el que restringe los metodos que puedan cambiarlo, contrario a editable.
    /// Oculto      : El controlador se encuentra oculto y desactivado y no guarda su estado.
    /// </summary>
    public enum EstadoMenu { Editable, SoloLectura, Oculto };

    /// <summary>
    /// Enumerado que marca los estado posibles para la construcion dinamica del controlador herramientas.
    /// Editable    : El controlador admite modificaciones de su funcionalidad de forma dinamica.
    /// SoloLectura : El controlador se encuentra en un estado en el que restringe los metodos que puedan cambiarlo, contrario a editable.
    /// Minimizado  : El controlador esta habilidado peo temporamente se encuentra minimizado ocupando menos espacio, minimizado implica no editable
    /// Oculto      : El controlador se encuentra oculto y desactivado y no guarda su estado.
    /// </summary>
    public enum EstadoHerramientas { Editable, SoloLectura, Minimizado, Oculto };

    /// <summary>
    /// Enumerado que marca los estado posibles para la construcion dinamica del controlador cabecera.
    /// EnEspera     : El controlador se encuentra a la espera de recibir nuevo contenido de una operacion.
    /// Actualizado  : El controlador se encuentra con el contenido actualizado.
    /// SoloLectura  : El controlador es solo lectura con lo que no tiene sentido los estados anteriores.
    /// Oculto       : El controlador se encuentra oculto y desactivado y no guarda su estado, siempre asi si no hay sesion
    /// </summary>
    public enum EstadoContenido    { EnEspera , Actualizado , SoloLectura ,  Oculto };

    /// <summary>
    /// Enumerado que marca los estado posibles para la construcion dinamica del controlador cabecera.
    /// Editable  : El controlador admite modiciaciones de su funcionalidad de forma dinamica, su omision es solo lectura.
    /// ConSesion : El controlador detecta un usuario autentificado y por tanto muestra su informacion en el contenido.
    /// NoSesion  : El controlador inhibe todos los elementos de logado, con lo que no se puede hacer loguin.
    /// Oculto    : El controlador se encuentra oculto y desactivado y no guarda su estado.
    /// </summary>
    public enum EstadoBarraEstado  { Ocupado, Libre, Multitarea , Oculto };

    /// <summary>
    /// Enumerado que marca los estado posibles para la construcion dinamica del controlador cabecera.
    /// SinSesion : El controlador se encuentra con el loguin habilitado pero sin una sesion validada en ese momento.
    /// ConSesion : El controlador detecta un usuario autentificado y por tanto muestra su informacion en el contenido.
    /// NoSesion  : El controlador inhibe todos los elementos de logado, con lo que no se puede hacer loguin.
    /// Oculto    : El controlador se encuentra oculto y desactivado y no guarda su estado.
    /// </summary>
    public enum EstadoPie          { SinSesion, ConSesion, NoSesion, Oculto };
}